# STA-Server zum Schalten einer LED (an Pin 12) # getestet am 29.06.2020; funktioniert! # Der Parameter "/LED_AN" bzw. "/LED_AUS" bei href wird durch das HTTP-Protokoll als GET-Parameter # im Request an den ESP32 gesendet. Indem wir ihn aus der Zeichenkette "request" mit split extrahieren, # können wir die LED ein- und ausschalten. # Zum Beenden des Programms Ctrl-C eingeben # Chrome-Browser des Handys baut nach dem Empfang des Response automatisch eine neue Verbindung zum Server auf; # eine neuer Request wird natürlich erst abgesendet, wenn ein Link batätigt wird. # Das blockiert den Server für andere Clients! Abhilfe mit timeout für recv. Siehe wlan_station_led_server_0_time_out. # Später in Kapitel "... tunen" berücksichtigen!!! import network import socket from machine import Pin from time import time # Wlan-Zugangsdaten; hier Ihre Wlan-Daten eintragen: ssid = 'mipamipa' password = 'Asdfghjkl1234' # Konfiguration von LED led=Pin(12, Pin.OUT) led.value(1) # einschalten def getrequest(connection): result = '' block_size = 512 while True: data = connection.recv(block_size) result += str(data, 'UTF-8') if result.find('\r\n\r\n') >= 0: # Ende des Requests gefunden break return result def http_header(): return '''HTTP/1.1 200 OK\r Content-Type: text/html\r Connection: close\r \r ''' def html(): if led.value() == 1: led_state = 'AN' else: led_state = 'AUS' return '''